# Maintainer: Anatol Pomozov <anatol.pomozov@gmail.com>
# Contributor: Filip Brcic <brcha@gna.org>
# Contributor: Mika Fischer <mika.fischer@zoopnet.de>
# Contributor: Gergely Imreh <imrehgATgmailDOTcom>

# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
#  - add environment variable override to ninja job guess routine
#    https://www.linuxfromscratch.org/lfs/view/development/chapter08/ninja.html

pkgname=ninja
pkgver=1.12.1
pkgrel=1
pkgdesc='Small build system with a focus on speed'
arch=(x86_64)
url='https://ninja-build.org/'
license=(Apache-2.0)
depends=(gcc-libs)
makedepends=(cmake python re2c emacs-nox)
checkdepends=(gtest)
source=($pkgname-$pkgver.zip::https://github.com/ninja-build/ninja/archive/v$pkgver.zip)
sha1sums=('ebdc7b4e92dd25fa91d7801ad150bd4b7a4990ce')
sha256sums=('40db6f6c77045efc817209fa72c3f92a399b7e39cf8e4cddfe7e65df2dd5dcbe')

prepare() {
  cd ninja-$pkgver

  sed -i '/int Guess/a \
  int   j = 0;\
  char* jobs = getenv( "ALARM_NINJA_JOBS" );\
  if ( jobs != NULL ) j = atoi( jobs );\
  if ( j > 0 ) return j;\
' src/ninja.cc
}

build() {
  cd ninja-$pkgver

  cmake -Bbuild-cmake
  cmake --build build-cmake
  emacs -Q --batch -f batch-byte-compile misc/ninja-mode.el
}

check() {
  cd ninja-$pkgver
  ./build-cmake/ninja_test
}

package() {
  cd ninja-$pkgver

  local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")

  install -m755 -D build-cmake/ninja "$pkgdir/usr/bin/ninja"
  install -m644 -D doc/manual.asciidoc "$pkgdir/usr/share/doc/ninja/manual.asciidoc"
  install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"

  install -m644 -D misc/ninja-mode.el "$pkgdir/usr/share/emacs/site-lisp/ninja-mode.el"
  install -m644 -D misc/ninja-mode.elc "$pkgdir/usr/share/emacs/site-lisp/ninja-mode.elc"
  install -m644 -D misc/ninja.vim "$pkgdir/usr/share/vim/vimfiles/syntax/ninja.vim"
  install -m644 -D misc/ninja_syntax.py "$pkgdir/$site_packages/ninja_syntax.py"

  install -m644 -D misc/bash-completion "$pkgdir/usr/share/bash-completion/completions/ninja"
  install -m644 -D misc/zsh-completion "$pkgdir/usr/share/zsh/site-functions/_ninja"
}
